package com.bestcem.xm.user.util.convert;

import com.bestcem.xm.user.controller.vo.group.UpdateGroupLevelVO;
import com.bestcem.xm.user.entity.mysql.UserGroupLevel;
import com.bestcem.xm.user.entity.pojo.UserGroupLevelDO;
import com.bestcem.xm.user.service.dto.group.GroupLevelDTO;
import com.bestcem.xm.user.service.dto.group.UpdateGroupLevelDTO;
import com.bestcem.xm.user.service.dto.group.UserGroupLevelDTO;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 层级转换类
 *
 * @author wangyunyun <yunyun.wang@idiaoyan.com>
 * @version v1.0
 * @date 2021/12/29 16:00
 */
@Mapper(componentModel = "spring")
public interface UserGroupLevelConvert {

    UserGroupLevel doToEntity(UserGroupLevelDO pojo);

    List<UserGroupLevel> dosToEntitys(List<UserGroupLevelDO> pojos);

    UserGroupLevelDO entityToDo(UserGroupLevel po);

    List<UserGroupLevelDO> entitysToDos(List<UserGroupLevel> pos);

    UserGroupLevelDO dtoToDo(UserGroupLevelDTO dto);

    List<UserGroupLevelDO> dtosToDos(List<UserGroupLevelDTO> dtos);

    UserGroupLevelDTO doToDto(UserGroupLevelDO pojo);

    List<UserGroupLevelDTO> dosToDtos(List<UserGroupLevelDO> pojos);

    List<UserGroupLevelDO> levelDtosToDos(List<GroupLevelDTO> dtos);

    UpdateGroupLevelDTO updateLevelVO2dto(UpdateGroupLevelVO levelVO);
}
